Print systems include presentation architectures that are provided for representing documents in a data format that is independent of the methods that are utilized to capture or create those documents. One example of an exemplary presentation system, which will be described herein, is the (Advanced Function Presentation) AFP™ system developed by International Business Machines Corporation. According to the AFP system, documents may include combinations of text, image, graphics, and/or bar code objects in device and resolution independent formats. Documents may also include and/or reference fonts, overlays, and other resource objects, which are required at presentation time to present the data properly.
Once the documents are received at a printer, processing is performed to convert a document into a printable format. However, processing high-resolution images in an incoming data stream into a printable format typically involves highly compute-intensive operations (e.g., scaling, rotation, decompression, color conversion, etc.).
Further, it is common for a printer to frequently process repetitive images throughout a print job. For instance, a print job may include a full-page background image or a company logo that appears on every printed page. Therefore, print systems typically include caching mechanisms to store and reuse processed images.
However in print systems having several nodes, where processing is remotely performed in parallel, local caching is often complicated. For instance, when an image is rasterized by one of the nodes, it is often desirable to cache the rasterized version (e.g., bitmap) of the image to prevent having to rasterize the same image when it is subsequently used. Thus, a control mechanism at the print system typically caches rasterized images to improve performance.
Caching rasterized images improves performance, however, only when the task time (e.g., time to rasterize an image) takes longer than the time to reuse a rasterized image (e.g., fetching the previously rasterized image from the cache and reusing it). Conventional printing systems save a rasterized object every time and enable a system user to manually turn caching off if a print job runs slow. Such a mechanism requiring manual operation is inefficient. Accordingly, a mechanism to optimize caching is desired.